1. Introduction à NumPy (20 min)

Objectif : Comprendre l’intérêt de NumPy, son installation et ses bases.

Contenu :

Exemple :

import numpy as np
lst = [1, 2, 3]
arr = np.array(lst)
print(arr, type(arr))

Exercice d’échauffement (5 min) :


2. Création et manipulation de tableaux (40 min)

Objectif : Savoir créer, accéder et modifier des tableaux NumPy.

Contenu :

Exemples :

arr = np.arange(10)
print(arr[3:7])
arr[1] = 99

Exercice (10 min) :

  1. Créer un tableau de 5 zéros.
  2. Créer un tableau de 10 nombres de 0 à 9.
  3. Accéder au 3ème élément, puis aux éléments de 2 à 5.

Mini-TP (10 min) :


3. Opérations de base et fonctions élémentaires (40 min)

Contenu :

Exemples :

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b)
print(np.sin(a))
print(a > 2)

Exercice (10 min) :

  1. Créer deux tableaux de 5 éléments.
  2. Calculer leur somme, produit, et moyenne.
  3. Trouver les éléments du premier tableau supérieurs à 2.

Mini-TP (10 min) :


4. Tableaux multidimensionnels (40 min)

Objectif : Comprendre et manipuler des tableaux 2D et plus.

Contenu :

Exemples :

mat = np.array([[1, 2], [3, 4]])
print(mat.shape)
print(mat.sum(axis=0))

Exercice (10 min) :

  1. Créer une matrice 3x3 de 1.
  2. Extraire la deuxième ligne.
  3. Calculer la somme de chaque colonne.

Mini-TP (10 min) :


5. Le Broadcasting : règles et applications (30 min)

Objectif : Comprendre et appliquer le broadcasting pour des opérations efficaces.

Contenu :

Exemples :

a = np.array([1, 2, 3])
b = 2
print(a * b)

Exercice (10 min) :

  1. Ajouter 5 à chaque élément d’un tableau 2D.
  2. Multiplier chaque ligne d’une matrice par un vecteur.

Mini-TP (10 min) :


6. Exercices progressifs et corrigés (30 min)

Objectif : Consolider les acquis avec des exercices variés.

Exercices :

  1. Créer un tableau de 100 éléments, calculer la somme des éléments pairs.
  2. Générer une matrice identité 5x5, puis extraire la sous-matrice 2x2 en haut à gauche.
  3. Normaliser un tableau (soustraire la moyenne, diviser par l’écart-type).

7. Projet final : Application pratique (40 min)

Objectif : Mettre en pratique l’ensemble des notions sur un cas concret.

Sujet :

Analyse de données météorologiques

Exemple de données :

data = np.array([
    [10, 15], [12, 16], [8, 14],  # Janvier
    [9, 13], [11, 17], [7, 12]    # Février
])

Consignes :


Matériel à prévoir :